package com.jing.cloud.util;


import com.jing.cloud.service.Res;

/**
 * @author jingshouyan 290173092@qq.com
 * @version 1.0.0
 * @ClassName RspUtil
 * @Description 返回对象Rsp工具类
 * @Date 2017年6月6日 上午9:45:37
 */
public class RspUtil {

    public static Res success() {
        return success(null);
    }

    public static Res success(Object result) {
        return error(ErrCode.SUCCESS, result, null);
    }

    public static Res error(int errCode) {
        return error(errCode, null, null);
    }

    public static Res error(int errCode, Throwable e) {
        return error(errCode, null, e);
    }

    public static Res error(int errCode, Object result) {
        return error(errCode, result, null);
    }

    /**
     * @param errCode 错误码
     * @param result  返回对象
     * @param e       异常信息
     * @return Rsp对象  msg根据errCode对应的消息 result json序列化
     * @Description 生成Rsp对象
     */
    public static Res error(int errCode, Object result, Throwable e) {
        Res res = new Res();
        res.setCode(errCode);
        res.setData(result);
        String message = ErrCode.getMessage(errCode);
        if (null != e) {
            message = message + "|" + e.getMessage();
        }
        res.setMsg(message);
        return res;
    }

    public static Res error(int errCode, String message) {
        Res res = new Res();
        res.setCode(errCode);
        res.setMsg(message);
        return res;
    }
}
